package com.example.lib_base

sealed class UIState {
    //这里的 <out T> 表示 T 是一个协变类型参数，
    // 意味着你可以将 OnSuccess<SomeType> 的实例安全地用作 OnSuccess<OutType> 的实例
    // （只要 SomeType 是 OutType 的子类或实现类型）

   // data class OnSuccess<out T>(val data: T) : UIState()
    data class OnSuccess<out T>(val data: T, var type: HttpType = HttpType.DEFAULT) : UIState()
    data class OnError(val msg: String) : UIState()
    data object OnLoading : UIState()
}